﻿namespace CodeContrib
{
	public class RandomWord : IRandom<string>
	{
		private readonly RandomItem<string> _randomWord;
		private static readonly string[] _words;

		static RandomWord()
		{
			_words = new[]
				         {
					         "accumsan", "accusam", "ad", "adipiscing", "aliquam", "aliquip", "aliquyam", "amet", "assum", "at", "augue", "autem", "blandit", "clita", "commodo", "congue", "consectetuer", "consequat", "consetetur", "cum", "delenit", "diam", "dignissim", "dolor", "dolore", "dolores", "doming", "duis", "duo", "ea", "eirmod", "eleifend", "elit", "elitr", "enim", "eos", "erat", "eros", "esse", "est", "et", "eu", "euismod", "eum", "ex", "exerci", "facer", "facilisi", "facilisis", "feugait", "feugiat", "gubergren", "hendrerit", "id", "illum", "imperdiet", "in", "invidunt", "ipsum", "iriure", "iusto", "justo", "kasd", "labore", "laoreet", "liber", "lobortis", "lorem", "luptatum", "magna", "mazim", "minim", "molestie", "nam", "nibh", "nihil", "nisl", "no", "nobis", "nonummy", "nonumy", "nostrud", "nulla", "odio", "option", "placerat", "possim", "praesent", "qui", "quis", "quod", "rebum", "sadipscing", "sanctus", "sea", "sed", "sit", "soluta", "stet", "suscipit", "takimata", "tation", "te", "tempor", "tincidunt", "ullamcorper", "ut", "vel", "velit", "veniam", "vero", "voluptua", "volutpat", "vulputate", "wisi", "zzril"
				         };
		}

		public RandomWord()
		{
			_randomWord = new RandomItem<string>(_words);
		}

		public string Next()
		{
			return _randomWord.Next();
		}
	}
}